package com.woniuxy.enjoylife.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.woniuxy.enjoylife.entity.Activity;
import com.woniuxy.enjoylife.entity.dto.ActivityCommentUserDto;
import com.woniuxy.enjoylife.entity.dto.ActivityCommunityDto;
import com.woniuxy.enjoylife.entity.dto.ActivityDto;
import com.woniuxy.enjoylife.entity.dto.ActivityUsersDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface ActivityMapper extends BaseMapper<Activity> {
    //根据小区id获取小区活动以及发起人，并分页
    public List<ActivityDto> findActivitysByCid(int cid);
    //通过活动id去查当前活动信息以及发起者，参与者
    public ActivityUsersDto findActivityUsersDtoById(int id);
    //通过用户id去中间表删除该用户参加的该活动
    public int delByUid(@Param("uid") int uid, @Param("aid") int aid);
    //根据活动id去查看当前活动进行阶段
    public int findResultById(int aid);
    //平台活动管理，查询所有小区的活动
    public List<ActivityCommunityDto> platFindAllActivity();
    //通过用户id数组遍历批量删除用户参与活动
    public int delBatchByUid(@Param("ids") int[] ids, @Param("aid") int aid);
    //用户查询自己发表的活动(用户id为活动表中发表人id)
    public List<ActivityUsersDto> userFindOwnActivity(int uid);
    //根据活动id去查询该活动的评论及用户
    public List<ActivityCommentUserDto> findActivityCommentByAid(int aid);
    //用户查询自己参与的活动（去用户-活动中间表查询）
    public List<ActivityUsersDto> userFindJoinActivity(int uid);

    //查询所有活动
    List<Activity> selectActivity();

    //查找单个用户的活动(id,模糊查询)
    List<Activity> selectOneActivity(Activity activity);

    //新增
    int addActivity(Activity activity);

    //修改
    int updateActivity(Activity activity);

    //删除
    int deleteActivity(int id);

//    用户活动============================================================

      ActivityUsersDto findActivityAndUserById(Integer id);

}
